1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, systems, and products for referencing message elements in an application message in a messaging environment.
2. Description of Related Art
Messaging environments are generally available to provide data communication between message sending devices and message receiving devices using application messages. An application message is a quantity of data organized into one or more data fields and is passed from a message producer installed on a message sending device to a message consumer installed on a message receiving device. An application message is a form of message recognized by application software operating in the application layer of a data communication protocol stack—as contrasted for example with a transport message or network message which are forms of messages recognized in the transport layer and the network layer respectively. An application message may represent, for example, numeric or textual information, images, encrypted information, and computer program instructions.
For an example of an application message, consider a financial market data environment. A financial market data environment is a data processing environment used to communicate information about financial markets and participants in financial markets. In a financial market data environment, an application message is commonly referred to as a ‘tick’ and includes financial market data such as, for example, financial quotes or financial news. Financial quotes include bid and ask prices for any given financial security. A ‘bid’ refers to the highest price a buyer is willing to pay for a security. An ‘ask’ refers to the lowest price a seller is willing to accept for a security.
Application messages in current messaging environments are typically created and interpreted according to a message model. The message model specifies the message format used to interpret the application messages. An application message is composed of one or more message elements, each message element is a message field or a message data structure composed of multiple message fields or other data structures. The message model includes information regarding the format and other characteristics of each of the message elements in application messages. For example, the message model may specify the type of each message element, the offset of each message element from the beginning of the message, the size of each message element, and the name of each message element.
When an application accesses a particular message element of an application message, the application typically utilizes a messaging module that performs messaging functions and interacts with the message model. Such messaging functions may include, for example, retrieving a value for a particular message element in an application message or storing a value for a particular message element in an application message. When a messaging module receives a request from an application to perform a messaging function using a message element, the messaging module retrieves information about the message element from the message model. To retrieve information about a particular message element from a message model, the messaging module typically searches the message model for the specification of the particular message element and retrieves the format data or other characteristics from the specification in the message model used to perform the requested messaging function. Typically, the messaging module performs the search through the message model using string operations, which are expensive operations that often consume more computer resource than other operations such as, for example, numeric operations. Because the messaging module often searches the message model many times for specification data regarding the same message element, large quantities of computer resources are typically consumed searching for the same data over and over again. As such, readers will therefore appreciate that room for improvement exists for referencing message elements in an application message in a messaging environment.